Detecting Architectural Mismatches in Process Algebraic Descriptions of Software Systems
نویسندگان
چکیده
Formalizing the description of software systems helps to detect the presence of architectural mismatches that can arise when assembling software components together. In this paper we identify three causes of architectural mismatches: incompatibility between two components due to a single interaction, incompatibility between two components due to the combination of several interactions, and lack of interoperability among a set of components forming a cyclic topology. We then show how to deal with all of them within a uniform, process algebraic framework. We begin with the first two causes by strengthening a previously defined architectural compatibility check based on observational equivalences, in order to achieve a deadlock freedom result for the set of components interacting via a certain connection. We subsequently concentrate on the third cause by defining a novel architectural interoperability check based on observational equivalences, which guarantees absence of deadlock within a set of interacting components forming a cyclic topology. We finally assess the adequacy of our architectural interoperability check by applying it to the description of a cruise control system.
منابع مشابه
Handling communications in process algebraic architectural description languages: Modeling, verification, and implementation
Architectural description languages are a useful tool for modeling complex software systems at a high level of abstraction. If based on formal methods, they can also serve for enabling the early verification of various properties such as component coordination and for guiding the synthesis of code correct by construction. This is the case with process algebraic architectural description languag...
متن کاملAutomatic code generation: from process algebraic architectural descriptions to multithreaded java programs
Process algebraic architectural description languages provide a formal means for modeling software systems and assessing their properties. In order to bridge the gap between system modeling and system implementation, in this thesis an approach is proposed for automatically generating multithreaded object-oriented code from process algebraic architectural descriptions, in a way that preserves – ...
متن کاملNon-synchronous Communications in Process Algebraic Architectural Description Languages
Architectural description languages are a useful tool for modeling complex software systems at a high level of abstraction and, if based on formal methods, for enabling the early verification of various properties among which correct component coordination. This is the case with process algebraic architectural description languages, as they have been equipped with several techniques for verifyi...
متن کاملAladdin: A Tool for Architecture-Level Dependence Analysis of Software Systems
The emergence of formal architecture description languages provides an opportunity to perform analyses at high levels of abstraction, as well as early in the development process. Previous research has primarily focused on developing techniques such as algebraic and transition-system analysis to detect component mismatches or global behavioral incorrectness. In this paper, we present Aladdin, a ...
متن کاملAutomatically Detecting Mismatches During Component-based and Model-based Development
A major emphasis in software development is placed on identifying and reconciling architectural and design mismatches. Those mismatches happen during software development on two levels: while composing system components (e.g. COTS or in-house developed) and while reconciling view perspectives. Composing components into a system and ’composing’ views (e.g. diagrams) into a system model are often...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001